/**
 * 获取医院列表的请求参数
 */
export interface IHospitalListReqParams {
    page: number
    limit: number
    hoscode?: string
    hosname?: string
    hostype?: string
    provinceCode?: string
    cityCode?: string
    districtCode?: string
    status?: number
}

/**
 * 定义医院对象单条类型
 */
export interface IHospitalItem {
    id: string
    createTime: string
    param: {
        hostypeString: string
        fullAddress: string
    },
    hoscode: string
    hosname: string
    hostype: string
    provinceCode: string
    cityCode: string
    districtCode: string
    address: string
    logoData: string
    intro: string
    route: string
    status: number
    bookingRule: IBookingRule | null
}

interface IBookingRule {
    cycle: number
    releaseTime: string
    stopTime: string
    quitDay: number
    quitTime: string,
    rule: string[]
}

/**
 * 定义医院列表数组类型
 */
export type IHopsitalList = IHospitalItem[]

/**
 * 定义请求医院分页响应体类型
 */
export interface IHopsitalListResponse {
    content: IHopsitalList
    totalElements: number
}

/**
 * 省市区 对象类型
 */
export interface IDict {
    id: number
    createTime: string
    parentId: string
    name: string
    value: string
    dictCode: null
    hasChildren: boolean
    param: object
}
/**
 * 区域列表类型 | 省市区请求体返回值类型
 */
export type IDictList = IDict[]

/**
 * 医院详情 响应体类型
 */
export interface IHospitalDetailResponse {
    bookingRule: IBookingRule
    hospital: IHospitalItem
}

/**
 * 科室对象类型
 */
export interface IDepartmentItem {
    depcode: string
    depname: string
    children: IDeparmentList
    disabled?: boolean
}

/**
 * 科室列表类型
 */
export type IDeparmentList = IDepartmentItem[]

/**
 * 获取排班日期请求参数类型
 */
export interface IScheduleReqParams {
    page: number
    limit: number
    hoscode: string
    depcode: string
}

/**
 * 排班日期对象类型
 */
export interface IScheduleItem {
    workDate: string
    workDateMd: null
    dayOfWeek: string
    docCount: number
    reservedNumber: number
    availableNumber: number
    status: null
}

/**
 * 排班日期列表类型
 */
export type IScheduleList = IScheduleItem[]

/**
 * 请求排班日期响应体类型
 */
export interface IScheduleResponse {
    total:number
    bookingScheduleList:IScheduleList
    baseMap:{
        hosname:string
    }
}

/**
 * 排班日期医生类型
 */
export interface IDoctorItem {
    id:string
    createTime:string
    param:{
        dayOfWeek:string
        depname:string
        hosname:string
    }
    hoscode:string
    depcode:string
    title:string
    docname:string
    skill:string
    workDate:string
    workTime:string
    reservedNumber:number
    availableNumber:number
    amount:number
    status:number
    hosScheduleId:string
}
/**
 * 排班医生列表类型
 */
export type IDoctorList = IDoctorItem[]
/**
 * 排班医生 接口请求参数类型
 */
export interface IDoctorReqParams {
    hoscode:string
    depcode:string
    workDate:string
}
